﻿Imports System.Data.SqlClient
Imports UTNComputers.clsTipo_Os
Public Class daoTipo_Os
    'Funcion para Traer un Tipo de Orden de Servicio por Id'
    Public Function TraeTipoOrdenServicio(ByVal tipo_os_id As Integer) As clsTipo_Os
        Dim Cn As New SqlClient.SqlConnection
        Dim Cm As New SqlClient.SqlCommand
        Dim Dr As SqlClient.SqlDataReader
        Dim Tipo_Os As New clsTipo_Os()

        Try
            Cn.ConnectionString = My.Resources.Conexion
            Cn.Open()
            Cm.CommandType = CommandType.StoredProcedure
            Cm.CommandText = "SP_TRAER_TIPO_OS"

            Cm.Parameters.Add("@tipo_os", SqlDbType.Int)
            Cm.Parameters("@tipo_os").Value = tipo_os_id

            Cm.Connection = Cn
            Dr = Cm.ExecuteReader
            If Dr.HasRows = True Then
                While Dr.Read
                    Tipo_Os.Tipo_Os = Dr.GetInt32(0)
                    Tipo_Os.Descri = Dr.GetString(1).Trim.ToUpper
                End While

                Dr.Close()
                Cn.Close()
            End If
            Return Tipo_Os
        Catch ex As Exception
            Throw New Exception(ex.Message)
        Finally
            Cn.Dispose()
            Cm.Dispose()
        End Try
    End Function

    'Funcion para Traer Todos los Tipos de Orden de Servicio'
    Public Function TraeTiposOrdenServicio() As List(Of clsTipo_Os)
        Dim Cn As New SqlClient.SqlConnection
        Dim Cm As New SqlClient.SqlCommand
        Dim Dr As SqlClient.SqlDataReader
        Dim ListaTipo_Os As New List(Of clsTipo_Os)

        Try
            Cn.ConnectionString = My.Resources.Conexion
            Cn.Open()
            Cm.CommandType = CommandType.StoredProcedure
            Cm.CommandText = "SP_TRAER_TIPO_OS_TODOS"

            Cm.Connection = Cn
            Dr = Cm.ExecuteReader
            If Dr.HasRows = True Then
                While Dr.Read
                    Dim Tipo_Os As New clsTipo_Os()
                    Tipo_Os.Tipo_Os = Dr.GetInt32(0)
                    Tipo_Os.Descri = Dr.GetString(1).Trim.ToUpper
                    ListaTipo_Os.Add(Tipo_Os)
                    Tipo_Os.Dispose()
                End While

                Dr.Close()
                Cn.Close()
            End If
            Return ListaTipo_Os
        Catch ex As Exception
            Throw New Exception(ex.Message)
        Finally
            Cn.Dispose()
            Cm.Dispose()
        End Try
    End Function


    '---------------------------------------------------------------------
    ' Constructor de la Clase
    '---------------------------------------------------------------------
    Public Sub New()

        MyBase.New()

    End Sub

    '---------------------------------------------------------------------
    ' Destructor de la Clase
    '---------------------------------------------------------------------
    Public Sub Dispose()

        MyBase.Finalize()

    End Sub

End Class
